<?
/*
-------------------------------
Script - EvaGb
-------------------------------
File - gzip_inc.php
-------------------------------
Function - Функции для Gzip сжатия
-------------------------------
*/
function checkgzip(){

if (headers_sent() || connection_aborted()){
return 0;
}
if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) return "x-gzip";
if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) return "gzip";
return 0;
}

function gzip($Contents,$level=3,$noprin=0){
@header ("Last-Modified: " . date('r', time()-60*60*10) ." GMT");
$ENCODING = checkgzip();
   if ($ENCODING){
        $info = "\n<!-- Сжатие: $ENCODING -->\n";
            $info.= "<!-- Размер файла до сжатия: ".strlen($Contents)." байт ";
            $info.= "После сжатия: ".
                   strlen(gzcompress($Contents, $level)).
                   " байт -->";
            if (!$noprin) $Contents .= $info;
        header("Content-Encoding: $ENCODING");
        $print="\x1f\x8b\x08\x00\x00\x00\x00\x00";
        $Size = strlen($Contents);
        $Crc = crc32($Contents);
        $Contents = gzcompress($Contents, $level);
        $Contents = substr($Contents,  0,  strlen($Contents) - 4);
        $print.= $Contents;
        $print.= pack('V', $Crc);
        $print.= pack('V', $Size);
       # header("Content-length: ".strlen($print));
        return $print;
        exit;
    }else{
        return $str;
        exit;
    }
}

?>
